package practice3;

/*
 * 多线程的第三种启动方式,可以获得返回值
 * 1.创建MyCallable实现Callable接口
 * 2.重写call方法(该方法有返回值,表示多线程运行的结果)
 * 3.创建MyCallable对象(表示多线程执行的任务)
 * 4.创建Future的对象(表示管理多线程运行的结果)
 * 5.创建Thread的对象,并开启线程
 * */

import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;

public class ThreadDemo {
    public static void main(String[] args) throws ExecutionException, InterruptedException {
        // 获取1~100之间的数字,并打印所有的奇数

        getNum gn = new getNum();

        FutureTask<Integer> ft1 = new FutureTask<>(gn);
        FutureTask<Integer> ft2 = new FutureTask<>(gn);

        Thread t1 = new Thread(ft1);
        Thread t2 = new Thread(ft2);

        t1.setName("奇数");
        t2.setName("偶数");

        t1.start();
        t2.start();
    }
}
